Dact

您所在的位置:网站首页 dcat admin 路由命名 Dact

Dact

2023-11-28 08:38| 来源: 网络整理| 查看: 265

创建并迁移自定义表(用于三级联动的表)

 菜单添加地区分类展示

 界面展示

return Form::make(new Good(), function (Form $form) { $form->display('id'); $form->text('title'); $form->text('goods_name'); $form->image('img')->uniqueName()->saveFullUrl(); $form->hidden('goods_address')->value(''); $form->select('province','省级行政区')->options('/api/province')->load('city','/api/city'); $form->select('city','市级行政区')->load('town','/api/town'); $form->select('town','区级行政区'); $form->text('price'); $form->display('created_at'); $form->display('updated_at');

 指定路由

 从 api 中获取选项列表:

 

 地区控制器

 

public function province() { $class=new \App\Models\Adress(); $addressDate=$class->where('pid',0)->select('id','address_name')->get()->toarray(); foreach ($addressDate as $k=>$v){ $province[$k]['id']=$v['id']; $province[$k]['text']=$v['address_name']; } return $province; }

 

下拉选框联动 (load)

 select 组件支持父子关系的单向联动:

 通过单项联动传递pid 

自定义下拉框三级联动路由

Route::get('/api/province',[\App\Admin\Controllers\AdressController::class,'province']); Route::get('/api/city',[\App\Admin\Controllers\AdressController::class,'city']); Route::get('/api/town',[\App\Admin\Controllers\AdressController::class,'city']);

 自定义下拉框三级联动控制器

 

public function province() { $class=new \App\Models\Adress(); $addressDate=$class->where('pid',0)->select('id','address_name')->get()->toarray(); foreach ($addressDate as $k=>$v){ $province[$k]['id']=$v['id']; $province[$k]['text']=$v['address_name']; } return $province; } public function city(Request $request) { $pid=$request->get('q'); $class=new \App\Models\Adress(); $addressDate=$class->where('pid',$pid)->select('id','address_name')->get()->toarray(); foreach ($addressDate as $k=>$v){ $city[$k]['id']=$v['id']; $city[$k]['text']=$v['address_name']; } return $city; }

 独立提交下拉三级联动提交

$form->submitted(function (Form $form) { // 获取用户提交参数 $province = $form->province; $city = $form->city; $town = $form->town; // 上面写法等同于 // 删除用户提交的数据 $form->deleteInput('province'); $form->deleteInput('city'); $form->deleteInput('town'); if ($province&&$city&&$town){ $address=new Adress(); $province=$address->where('id',$province)->select('address_name')->get()->toarray(); $province=$province[0]['address_name']; $city=$address->where('id',$city)->select('address_name')->get()->toarray()[0]['address_name']; $town=$address->where('id',$town)->select('address_name')->get()->toarray()[0]['address_name']; $form->goods_address=$province.'/'.$city.'/'.$town; } // // 中断后续逻辑 // return $form->response()->error('服务器出错了~'); });

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3